package com.zhongfl.crm.mapper;

import com.zhongfl.crm.model.LxDepartment;
import com.zhongfl.crm.model.boss.Amiba;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 向日葵
 * @Date 2018/9/20
 */
@Mapper
public interface LxDepartmentMapper {

    /**
     * 根据父id获取子阿米巴
     *
     * @param parentId 父ID
     * @return 子阿米巴
     */
    List<LxDepartment> selectByParentId(@Param("parentId") Long parentId);

    /**
     * 根据ID查询阿米巴信息
     *
     * @param id
     * @return 阿米巴信息
     */
    LxDepartment selectById(Integer id);

    /**
     * 把所有的励销状态初始化成未匹配状态
     */
    int updateAlltoNo();

    /**
     * 新增部门信息
     *
     * @param resolveLxDepartment
     */
    void insertDepartment(LxDepartment resolveLxDepartment);

    /**
     * 根据励销id查询部门信息
     *
     * @param lxId
     * @return
     */
    LxDepartment selectByLxId(@Param("lxId") Long lxId);

    /**
     * 根据Id删除一条数据
     *
     * @param lxId 励销Id
     */
    void deletedDepartmentById(@Param("lxId") Long lxId);

    /**
     * 根据励销id更新部门信息
     *
     * @param resolveLxDepartment
     */
    void updateById(LxDepartment resolveLxDepartment);

    /**
     * 删除所有未匹配状态的部门
     */
    void deleteAllNo();

    /**
     * 查询全部部门
     * @return 部门数据对象集合
     */
    List<LxDepartment> selectAllDepartment();

    /**
     * 根据名称查询阿米巴
     * @param name 名称
     * @return 阿米巴
     */
    Amiba selectAmibaByName(String name);

    /**
     * 根据ID修改匹配阿米巴信息
     * @param id         主键ID
     * @param amibaId   阿米巴ID
     * @param amibaName 阿米巴名称
     */
    void updateMatchAmiba(@Param("id") Integer id, @Param("amibaId") Integer amibaId, @Param("amibaName") String amibaName);
}

